var express=require('express');
var app = express.createServer();
var contadores = new Array;
var puerto=process.argv[2]?process.argv[2]:8080;

app.get('/', function (req, res) {   
	res.send('Portada');
});

//Salida en formato HTML:
app.get('/html', function (req, res) {
	var cadena = '<html><head><b>Salida HTML</b></head><body>';
	for (var i in contadores){
		cadena = cadena + '<p></p>Contador <b>'+ i + '</b> tiene un valor de: ' + contadores[i];
	}
	res.send(cadena + '</body>');
});

//Salida en formato JSON:
app.get('/json', function (req, res) {
	var cadena = '{';
	for (var i in contadores){
		cadena = cadena + '"' + i + '":"' + contadores[i] + '",'
	}
	res.send('Salida JSON  contadores=' + cadena + '};');

});

//Igual que cuando entramos en /html salvo por añadir un boton:
app.get('/tarea2', function (req, res) {
	var cadena = '<html><head><b>Salida HTML</b></head><body>';
	var botonp1 = '<form name="myform" action="http://127.0.0.1:8080/contador/';
	var botonp2 = '" method="POST"><input type="submit" value="Incrementar"></form>';
	for (var i in contadores){
		cadena = cadena + '<p></p>Contador <b>'+ i + '</b> tiene un valor de: ' + contadores[i] + '<p></p>' +botonp1 + i + botonp2 ;
	}
	res.send(cadena + '</body>');
});


app.put('/contador/:id', function( req,res ) {
    contadores[req.params.id] = 0;
    res.send( { creado: req.params.id } );
});

app.get('/contador/:id', function (req, res) {
    res.send( "{ "+req.params.id+": "+ contadores[req.params.id] + "}");
});

app.post('/contador/:id', function (req, res) {   
    contadores[req.params.id]++;
    res.send( "{ "+req.params.id+": "+ contadores[req.params.id] + "}");
});

app.listen(puerto);
console.log('Server running at http://127.0.0.1:'+puerto+'/');
